O polêmico elemento NAV da HTML5
Publicado em: 2012-12-16 — 15.575 visualizacoes
Há três dias recebi um email do meu leitor Vagner Baggio com a seguinte pergunta:
Usar um form de busca dentro da tag
nav
é correto ou não aconselhável?
Para responder ao Vagner fiz o que sempre faço quando tenho uma dúvida (sim, eu constatei que tinha a mesma dúvida dele) em relação aos padrões web: consultar as especificações no site do W3C.
Lá encontrei o seguinte:
O elemento
nav
representa uma seção da página que linca para outras páginas ou para conteúdos dentro da mesma página.
Claríssimo certo? Elementos de formulário não são links, portanto não podem constar em elementos nav
, certo?
Errado (ou não?), pois elementos de formulário, tal como uma caixa de busca lincam para outras páginas, isto é, a página com os resultados da busca.
Mas, poder-se-ia contra argumentar citando as especificações do W3C:
O elemento
form
representa uma coleção de elementos a ele associados, alguns deles podendo representar valores editáveis que podem ser enviados ao servidor para processamento.
E agora? Semanticamente a caixa de busca é um link ou um meio de enviar dados ao servidor para processamento?
Enfim, há vários argumentos e contra argumentos, inclusive com considerações sobre SEO, leitores de tela, acessibilidade, indexação etc. que levariam a discussão ao infinito.
A questão é polêmica e eu resolvi chamar meus leitores para discutir a respeito abrindo um post na minha página no Facebook. Era uma oportunidade de ouvir opiniões, aprender um pouco e compartilhar coletivamente conhecimentos.
Rapidamente várias opiniões, argumentos e links para matérias contra e a favor foram postadas. Fiquei empolgado com o engajamento do pessoal, e, pelo que pude constatar, realmente a especificação não é clara o suficiente para afirmar que está certo ou errado inserir uma caixa de busca dentro de um elemento nav
.
Seria um argumento definitivo? constatar que:
Ian Hickson o “pai da HTML5” em seu site pessoal usa, exclusivamente, um formulário, dentro de um elemento nav
, com elementos de formulário não só para navegar no site como também para mostrar/esconder conteúdos e ordenar posts.
Ou poder-se-ia perguntar?
Mostrar/esconder conteúdos e ordenar posts é considerado navegação e pode ser inserido em um elemento nav
? E, clicar um link para fazer requisições dinâmicas?
E, não é só isso não, a especificação, para confundir mais ainda, prevê que o elemento nav
deve ser usado somente para “bloco de navegação principal.”
O que é bloco de navegação principal em um layout ou aplicação mais complexa? Poderá haver mais de um conjunto de links a ser considerado navegação principal? Chamar uma janela modal de ajuda é navegação? é principal?
Parece-me que essa questão não se resolve consultando teorias e especificações e que não existe uma resposta definitiva para ela.
Ao longo da minha vida aprendi que as vezes a solução de um problema está dentro de nós mesmos. Em lugar de procurar na teoria confusa uma solução universal, usemos o bom senso para cada novo caso que surge.
E você? O que você tem a dizer a respeito?
Desabilitei comentários nessa matéria, mas gostaria muito de saber sua opinião, assim convido você a ir para meu post no FaceBook e comentar lá.
Desenvolvimento com Padrões Web? Adquira os livros do Maujor
Visite o site dos livros.
Esta matéria foi publicada em: 2012-12-16 (domingo). Subscreva o feed RSS 2.0 para comentários.
Comentários estão fechados, mas trackback é possível.